Файл: SumToText.txt

Дата: 10.04.2014

1: * Формирование суммы прописью.
2: * Программа КОНЦЕПТ, 14.05.2012, www.gendoc.ru
3:
4: присвоить 1;0 рублей 1;1 рубль 1;2 рубля 1;3 рубля 1;4 рубля 1;5 рублей 1;6 рублей 1;7 рублей 1;8 рублей 1;9 рублей
5: присвоить 2;0 тысяч 2;1 тысяча 2;2 тысячи 2;3 тысячи 2;4 тысячи 2;5 тысяч 2;6 тысяч 2;7 тысяч 2;8 тысяч 2;9 тысяч
6: присвоить 3;0 миллионов 3;1 миллион 3;2 миллиона 3;3 миллиона 3;4 миллиона 3;5 миллионов 3;6 миллионов 3;7 миллионов 3;8 миллионов 3;9 миллионов
7: присвоить 4;0 миллиардов 4;1 миллиард 4;2 миллиарда 4;3 миллиарда 4;4 миллиарда 4;5 миллиардов 4;6 миллиардов 4;7 миллиардов 4;8 миллиардов 4;9 миллиардов
8: присвоить 5;0 триллионов 5;1 триллион 5;2 триллиона 5;3 триллиона 5;4 триллиона 5;5 триллионов 5;6 триллионов 5;7 триллионов 5;8 триллионов 5;9 триллионов
9:
10: ввести переменная СУММА 'Введите сумму (целое число):'
11: если [$УспешныйВвод] = [$Ложь]
12:   СТОП
13: конец
14: строка заменитьСимволы сумма [СУММА] ' ' ''
15: если (вычислить являетсяЧислом $результат [сумма] ) = [$Ложь]
16:   показать сообщение 'Необходимо ввести целое число.'
17:   СТОП    
18: конец
19:
20: присвоить СУММА_ПРОПИСЬЮ ''
21: * Цикл по: рубль, тысяча, миллион, миллиард, триллион
22: для РАЗРЯД 1;2;3;4;5
23:   присвоить обработать_следующую_цифру [$Истина]
24:     * Цикл по: единицы, десятки, сотни
25:   для 1;2;3
26:     если [сумма] != ''
27:             * Выделение последней текущей цифры из числа и ее последующее удаление из суммы      
28:       вычислить остаток цифра [сумма] 10
29:       строка удалить сумма $ (строка размер $результат [сумма] ) 1
30:       если [обработать_следующую_цифру]
31:         присвоить обработать_следующую_цифру [$Истина]
32:         выбрать [$ОбъектЦикла]
33:           вариант 1
34:             если (строка последний $результат [сумма] ) == 1
35:               список отобразить цифра_прописью [цифра] '0;1;2;3;4;5;6;7;8;9' 'десять;одиннадцать;двенадцать;тринадцать;четырнадцать;пятнадцать;шестнадцать;семнадцать;восемнадцать;девятнадцать' ''
36:               присвоить обработать_следующую_цифру [$Ложь]
37:             иначе
38:               если [РАЗРЯД] = 2
39:                                 * Для тыcяч - женский род
40:                 список отобразить цифра_прописью [цифра] '0;1;2;3;4;5;6;7;8;9' ';одна;две;три;четыре;пять;шесть;семь;восемь;девять' ''
41:               иначе
42:                 список отобразить цифра_прописью [цифра] '0;1;2;3;4;5;6;7;8;9' ';один;два;три;четыре;пять;шесть;семь;восемь;девять' ''
43:               конец
44:             конец
45:           вариант 2
46:             список отобразить цифра_прописью [цифра] '0;1;2;3;4;5;6;7;8;9' ';десять;двадцать;тридцать;сорок;пятьдесят;шестьдесят;семьдесят;восемьдесят;девяносто' ''
47:           вариант 3
48:             список отобразить цифра_прописью [цифра] '0;1;2;3;4;5;6;7;8;9' ';сто;двести;триста;четыреста;пятьсот;шестьсот;семьсот;восемьсот;девятьсот' ''
49:         конецВыбора
50:                 * Запись текста в сумму прописью  
51:         если [$ОбъектЦикла] = 1
52:           если [обработать_следующую_цифру]
53:             присвоить СУММА_ПРОПИСЬЮ "[[РАЗРЯД];[цифра]] [СУММА_ПРОПИСЬЮ]"
54:           иначе
55:             присвоить СУММА_ПРОПИСЬЮ "[[РАЗРЯД];9] [СУММА_ПРОПИСЬЮ]"
56:           конец
57:         конец
58:         если [цифра_прописью] != ''
59:           присвоить СУММА_ПРОПИСЬЮ "[цифра_прописью] [СУММА_ПРОПИСЬЮ]"
60:         конец
61:       иначе
62:         присвоить обработать_следующую_цифру [$Истина]
63:       конец
64:     конец
65:   следующий
66: следующий
67:
68: >[СУММА] = [СУММА_ПРОПИСЬЮ]